\section{The GNU General Public License (GPL)}
\label{gpl}
As we already found out there is a lot of free software all over the world. So there should be some law saying that this is a free software, its author has the following rights and obligations and the users may or may not do some certain things. All such kind of things are controlled by the software licenses. Here we'll see how the  four essential freedoms are given to the software users.

\subsection{Giving all four freedoms - GPL}
To formalize the phylosophy of free software, thus the four essential freedoms, Mr. Stallman developed a free license - the \textbf {GNU General Public License - GPL}. It is now accepted in most of countries all over the world and protects free software developers rights.

Any software published under GNU GPL must follow several rules. First of all it must be distributed along with its source code. It allows the end users to redistribute exact copies of the software. It also allows the users to modify the source code and distribute the modified versions. The only obligation is that all the modified versions must also be distributed under GNU GPL. On the other side GNU GPL gives some freedom to the software developers. Particularly the author does not carry any responsibility on what the software can do. The software can damage your data or hardware, it is allowed not to operate according to it's own documentation, etc. Next, if you do any changes to the source code, you must mention your name along with the original author's name.

Besides the freedom GPL gives an unmet opportunity to the free software developers. It ensures that if any line of code is published under terms of GPL it will always remain free software. No one may steal your code and reuse it in any non-free software. Even more, if someone uses a line of code published under GPL the whole product must be also published under GPL.

Of course not all the aspects of GNU GPL are described here. For more information on the terms of GPL please visit its official site: http://www.gnu.org/copyleft/gpl.html.

\subsection{Copyleft and Copyright}
Probably you have heard of the term "Copyright". It is usually accompanied with the following symbol - \copyright. When you see these signs under anything you should know that the material is protected by the law. All the rights belong to the author, and you probably are not allowed to redistribute, modify or something like that.

In free software world people usually use another term - "Copyleft". It's a method for making a software free, and requiring all modified versions also to be free. As it follows from the definition, the GNU GPL license is a copyleft license. 

But still, even if you published your software under copyleft, you get the copyright too. It means that you are still the author of the product and you may do with it everything you wish. Particularly you may change the licensing.

The exact definition and the full description of copyleft can be found here: \\  http://www.gnu.org/copyleft.

\subsection{Non-copyleft licenses}

Of course the GNU GPL is one of the oldest and most widely used free licenses. But still it is not the only free license. Several companies have developed their own free licenses. Most widely used of them are the Apache license, the BSD license, etc. Some of the free licenses are compatible with GNU GPL, some of them are not, but non of them are copyleft licenses except the GNU GPL. The FSF does not recommend using of some free licenses. A complete article on license analisys can be found here: http://www.gnu.org/licenses/license-list.html.

